﻿function LlamadoHandler( jsonData, handler, funcionError, funcionRespuesta ) {
	$.ajax( {
		type: "POST",
		timeout: 300000,
		dataType: "json",
		data: jsonData,
		url: handler,
		error: funcionError,
		success: funcionRespuesta,
		cache: false
	} );
}

function LlamadoAjax( jsonData, url, metodo, funcionError, funcionRespuesta ) {
	$.ajax( {
		type: "POST",
		timeout: 300000,
		dataType: "json",
		data: jsonData,
		contentType: "application/json; charset=utf-8",
		url: url + "/" + metodo,
		error: funcionError,
		success: funcionRespuesta
	} );
}

function LlamadoAjaxSincrono( jsonData, url, metodo, funcionError, funcionRespuesta ) {
	$.ajax( {
		async: false,
		timeout: 300000,
		type: "POST",
		dataType: "json",
		data: jsonData,
		contentType: "application/json; charset=utf-8",
		url: url + "/" + metodo,
		error: funcionError,
		success: funcionRespuesta
	} );
}

function lastDayOfMonth( nMonth, nYear ) {
   var aMonth = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
   if ( ( nMonth == 2 ) && ( nYear % 4 == 0 ) )
      return 29;
   else
      return aMonth[nMonth - 1];
  }

  String.prototype.zf = function ( l ) { return '0'.string( l - this.length ) + this; }
  String.prototype.string = function ( l ) { var s = '', i = 0; while ( i++ < l ) { s += this; } return s; }
  Number.prototype.zf = function ( l ) { return this.toString().zf( l ); }
  var gsMonthNames = new Array( 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dec' );
  var gsDayNames = new Array( 'Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab' );
  function FormatoFecha( valor ) {
  	return gsDayNames[valor.getDay()] + ' ' + gsMonthNames[valor.getMonth()] + ' ' + valor.getDate().zf( 2 ) + ' ' + valor.getFullYear();
  }